package org.jeecg.modules.demo.yxclosingdate.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.demo.advancesReceived.entity.YxAdvancesReceived;
import org.jeecg.modules.demo.allout.entity.YxAllot;
import org.jeecg.modules.demo.caiWuSkd.entity.CwSkd;
import org.jeecg.modules.demo.caiWuSrOrder.entity.CwSrOrder;
import org.jeecg.modules.demo.checkOrder.entity.checkOrder;
import org.jeecg.modules.demo.cwSaleInvoice.entity.CwSaleInvoice;
import org.jeecg.modules.demo.puInvoice.entity.PuInvoice;
import org.jeecg.modules.demo.pubuyorder.entity.PuBuyOrder;
import org.jeecg.modules.demo.pusettlement.entity.PuSettlement;
import org.jeecg.modules.demo.qualityOrder.entity.PuQualityOrder;
import org.jeecg.modules.demo.soFeiyong.entity.SoFeiyong;
import org.jeecg.modules.demo.soOrderDetail.entity.SoOrderDetail;
import org.jeecg.modules.demo.soQualityOrder.entity.SoQualityOrder;
import org.jeecg.modules.demo.soSaleOrder.entity.SoSaleOrder;
import org.jeecg.modules.demo.soSettlement.entity.SoSettlement;
import org.jeecg.modules.demo.socost.entity.SoCost;
import org.jeecg.modules.demo.sopayorder.entity.SoPayorder;
import org.jeecg.modules.demo.warehouseorder.entity.WarehouseOrder;
import org.jeecg.modules.demo.yxadjust.entity.YxAdjust;
import org.jeecg.modules.demo.yxclosingdate.entity.YxClosingDate;
import org.jeecg.modules.demo.yxclosingorder.entity.YxClosingOrder;
import org.jeecg.modules.demo.yxkcqcorder.entity.YxKcqcOrder;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

/**
 * @Description: yx_closing_date
 * @Author: jeecg-boot
 * @Date:   2022-11-15
 * @Version: V1.0
 */
public interface YxClosingDateMapper extends BaseMapper<YxClosingDate> {
    public List<WarehouseOrder>  getUninvoicedRkOrder(@Param("yxClosingDate") YxClosingDate yxClosingDate);

    public List<PuInvoice>  getPuinvoices(@Param("warehouseOrder") WarehouseOrder warehouseOrder);

    public YxClosingDate getByDate(@Param("str") String str);

    public List<Map<String,String>> getList(@Param("str")String str);

    public Map<String, BigDecimal> getFpByWoNo(@Param("str") String str);

    public List<WarehouseOrder> getRkOrderByDate(@Param("yxClosingDate") YxClosingDate yxClosingDate);


    public List<SoOrderDetail> getCkOrderByDate(@Param("yxClosingDate") YxClosingDate yxClosingDate);

    public List<String> getCk();

    public List<String> getMz();

    public Integer getJzByDate(@Param("yxClosingDate") YxClosingDate yxClosingDate);

    public String getNewstDate(@Param("yxClosingDate") YxClosingDate yxClosingDate);

    public List<PuBuyOrder> getPuBuyOrder(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<PuQualityOrder> getPuQualityOrder(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<WarehouseOrder> getWarehouseOrder(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<PuSettlement> getPuSettlement(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<PuInvoice> getPuInvoice(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<SoPayorder> getSoPayOrder(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<SoCost> getSoCost(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<YxAdvancesReceived> getYfk(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<checkOrder> getPd(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<YxAdjust> getAdjust(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<YxAllot> getAllot(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    public List<YxKcqcOrder> getQcOrder(@Param("yxClosingDate") YxClosingDate yxClosingDate);

    List<SoSaleOrder> getSoorder(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    List<SoOrderDetail> getSod(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    List<SoQualityOrder> getSoq(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    List<SoSettlement> getSos(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    List<CwSkd> getSosk(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    List<CwSaleInvoice> getSocw(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    List<SoFeiyong> getSofy(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    List<CwSkd> getSoysk(@Param("yxClosingDate") YxClosingDate yxClosingDate);
    List<CwSrOrder> getSosr(@Param("yxClosingDate") YxClosingDate yxClosingDate);

    List<YxClosingOrder> getAssociatedQueryByWoNo(@Param("str")String str);
}
